/**
 * 病案高级查询页面 js
 * @author [lv tang wei]
 */
 //模板相关变量
 var MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA;		//选择的模板
 var MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA_SQL=null;	// 模板查询SQL语句
 var MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA_WHERE_SQL=null;	//模板查询WHERE后语句
 var MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA_WHERE_SQL_EXPLAIN=null;//模板查询WHERE后语句解释
 //条件组变量
 var MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE=null;		//选择的条件组
 //字段模板
 var MEDICAL_ADVANCED_INQUIRY_DATAGRID_COLUMNS;
 var MEDICAL_ADVANCED_INQUIRY_DATAGRID_DATAS;
 /**
  * 字段模板
  * */
 var col;
 /**
  * 结果集过滤
  */
 var FILTER_DATA=new Array();

 /**
  * 过滤字段列名值
  * */
 var FILTER_FIELD_VALUE_DATAGRID_DATA;
 /**
  * 将单击查询出来的结果集保存至全局变量中
  * */
 var queryResultsDatas; 
 
(function(){
	/*
	* 初始化layout
	*/
	/*$("#home-layout").layout({
		fit: true
	});*/
 	//加载模板
 	loadTemplate();
 	//加载条件组
 	loadConditionGroup();
	//加载可选条件
 	loadConditionTree();
 	
 	//加载所有申请分类
	$("#medical_advanced_inquiry_bacth_apply_purpose,#medical_advanced_inquiry_single_apply_purpose").combobox({
		width:160,
		height:24,
		url : "systemMaintenance/loadApplyType",
		editable : false,
		valueField : "FID",
		textField : "FNAME",
		onLoadSuccess : function(data){
			if (data.length>0) {
				$("#medical_advanced_inquiry_bacth_apply_purpose,#medical_advanced_inquiry_single_apply_purpose").combobox('select',data[0].FID);   //默认勾选第一个申请分类
			}
		},
		onLoadError : errorPromt
	});
	
	 //加载字段模板列表
	 $('#medical_advanced_inquiry_show_field_template').combobox({
		url : "systemMaintenance/getUserFieldShowTemple",
	 	width : 120,
		panelHeight : 120,
		editable : false,
		valueField : 'id',
		textField : 'text',
		onLoadSuccess : function(data){
	 		$('#medical_advanced_inquiry_show_field_template').combobox('select',data[0].id);
		},
		onSelect:loadMedicalAdvancedInquiryDatagridFieldsByShowTemplate    //根据字段分类模板加载  datagrid显示
   });
	
 })();

/*****************************************************************************************************
 *************************************模板加载、新增、修改、删除****************************************
 *****************************************************************************************************/
/**
 * 病案高级查询-个人模板-加载 
 * 描述：后台获取时传入前端传入模板类型
 * FTYPE:1 病案查询  2 病案高级查询
 * @returns
 */
 function loadTemplate(){
 	$('#medical_advanced_inquiry_template_combobox').combobox({
 		url : "MedicalCheckManage/loadConditionTemple?ftype=2",
	 	width : 150,
	 	editable : false,
 		panelHeight : 120,
 		valueField : 'id',
 		textField : 'text',
 		onLoadSuccess : function(data){
 			if (data.length>0) {
		 		$('#medical_advanced_inquiry_template_combobox').combobox('select',data[0].id);
 			}
 		},
 		onSelect:templateEvent     //根据模板id  加载该模板条件值
	 })
 }
 
 /**
  * 病案高级查询-个人模板-模板事件
  * @param record
  * @returns
  */
 function templateEvent(record){
	 //条件组复位
	 MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE=null;
	 //模板变量
	 MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA = record;
	 //加载模板条件组
	 queryConditionGroup(record.id);
	 
 }
 
/**
 * 病案高级查询-个人模板-新增
 * 描述：新增模板时需验证个人模板是否存在 
 */
function addTemplate(){
 	$.messager.prompt('提示信息', '请输入模板名称：', function(r){
		if (r){  // r 代表输入的模板名称 
			//检测是否存在相同的模板名称
			if (!checkTemplateName(r)) {
				$.messager.alert('提示','保存失败,存在相同的模板名称，请修改','info');
				return;
			}
			//调用保存条件方法
			$.ajax({
				url : "MedicalCheckManage/addTemplate",
				dataType : 'json',
				type : 'post',
				data : {fmbmc:r,ftype:2},
				success : function(data){
					if (data) {
						$.messager.alert('提示','操作成功','info');
						//重新加载个人模板
						loadTemplate();
					}else{
						$.messager.alert('提示','操作失败','info');
					}
				},error : errorPromt
			})
		}
	});
 }
 
/**
 * 病案高级查询-个人模板-修改
 * @returns
 */
 function updateTemplate(){
 	if (MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA == undefined) {
 		$.messager.alert('提示','请选相应的模板进行修改','info');
		return;
 	}
 	$.messager.prompt('提示信息', '是否修改其模板名称：', function(r){
		if (r){  // r 代表输入的模板名称 
			if (r == MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA.text) {
				$.messager.alert('提示','模板名称未修改','info');
				return;
			}
			
			//检测是否存在相同的模板名称
			if (!checkTemplateName(r)) {
				$.messager.alert('提示','保存失败,存在相同的模板名称，请修改','info');
				return;
			}
			
			//修改已选条件模板的名称
			$.ajax({
				url : "MedicalCheckManage/editConditionTempName",
				dataType : 'json',
				type : 'post',
				data : {name : r, mbID: MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA.id},
				success : function(data){
					if (data) {
						$.messager.alert('提示','操作成功','info');
						//重新加载个人模板
						loadTemplate();
					}else{
						$.messager.alert('提示','操作失败','info');
					}
				},error : errorPromt
			})
		}
	});
 }

/**
 * 病案高级查询-个人模板-删除
 * 描述:根据模板id进行删除，需删除此模板下对应的条件
 */
function deleteTemplate(){
 	if (MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA == undefined) {
 		$.messager.alert('提示','请选相应的模板进行删除','info');
		return;
 	}
 	$.ajax({
		url : "MedicalCheckManage/deleteConditionTemp",
		dataType : 'json',
		type : 'post',
		data : {mbID: MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA.id},
		success : function(data){
			if (data) {
				$.messager.alert('提示','删除成功','info');
				//重新加载个人模板
				loadTemplate();
			}else{
				$.messager.alert('提示','删除失败','info');
			}
		},error : errorPromt
	})
}

/**
 * 添加或修改模板时，检测是否存在相同的模板名称
 * @param name 新的模板名称
 * @returns {Boolean}
 */
function checkTemplateName(name){
	//获取已加载的所有模板
	var mbArray = $('#medical_advanced_inquiry_template_combobox').combobox('getData');
	var count = 0;
	for (var i = 0; i < mbArray.length; i++) {
		if (mbArray[i].text == name) {
			count ++;
			break;
		}
	}
	if (count != 0) {
		return false;
	}
	return true;
}
/*****************************************************************************************************
 **************************************模板条件组******************************************************
 *****************************************************************************************************/
/**
 * 病案高级查询-模板条件组--初始化
 */
function loadConditionGroup(){
	$('#medical_advanced_inquiry_condition_group_treegrid').treegrid({
		toolbar:'#medical_advanced_inquiry_condition_group_treegrid_toolbar',
		fit:true,
		//rownumbers:true,
		fitColumns: false,
	    idField:'FID',
	    treeField:'FTJZMC',
	    singleSelect: true,
	    columns:[[
			{title:'FID',field:'FID',hidden:true},
			{title:'条件组',field:'FTJZMC',width:120,align:'center'},
			{title:'排序',field:'FPX',width:50,align:'center'},
			{title:'关系',field:'FGX',width:50,align:'center',
				formatter:function(value, row){
					var $row = JSON.stringify(row).replace(/\"/g,"'");//row的是一个对象
					var btn=value==1?'<a class="easyui-linkbutton" onclick="updateCondittionGroupGX('+$row+')">并且</a>':'<a class="easyui-linkbutton" onclick="updateCondittionGroupGX('+$row+')">或者</a>';
					return row.FPX!=1?btn:"";
					//return row.FPX!=1||(row.FPX==1 && (row.FPID==0||row.FPID==null))?btn:"";
				}
			},
			{title:'操作',field:'FPID',width:100,align:'center',
				formatter:function(value, row){
					var $row = JSON.stringify(row).replace(/\"/g,"'");//row的是一个对象
					var btn='<a class="easyui-linkbutton" onclick="treegridMove(\'up\','+$row+')">上移</a>&nbsp;'+
							'<a class="easyui-linkbutton" onclick="treegridMove(\'down\','+$row+')">下移</a>';
					return btn;
				}
			}
	    ]],
	    loadFilter:function(data,parentId){
	    	//可以格式化数据
	    	return convertTreegridRows(data.rows);
	    },
	    onSelect:function(row){
	    	MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE=row;
	    	var childrens=$('#medical_advanced_inquiry_condition_group_treegrid').treegrid("getChildren",row.FID);
	    	//加载件组明细列表
	    	if(childrens.length==0){
	    		queryCondition(row.FID);
	    	}
	    },
	    onLoadSuccess: function(row){
	    	//启动拖拽
	    	//treegridEnableDnd($('#medical_advanced_inquiry_condition_group_treegrid'));
        }
	});
}
/**
 * 病案高级查询-模板条件组--根据模板id获取条件组
 * @param mbid 模板id
 * @returns
 */
function queryConditionGroup(mbid){
	$('#medical_advanced_inquiry_condition_group_treegrid').treegrid('options').url='MedicalCheckManage/queryConditionGroup';
	$('#medical_advanced_inquiry_condition_group_treegrid').treegrid('options').queryParams={mbid:mbid};
	$('#medical_advanced_inquiry_condition_group_treegrid').treegrid("load");
}

/**
 * 病案高级查询-条件组-新增
 * 描述：新增模板时需验证个人模板是否存在 
 */
function addConditionGroup(){
	if(MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA==null){
		$.messager.alert('提示','请选择模板','info');
		return ;
	}
 	$.messager.prompt('提示信息', '请输入条件组名称：', function(r){
		if (r){  // r 代表输入的模板名称 
			//检测是否存在相同的模板名称
			if (!checkConditionGroupName(r)) {
				$.messager.alert('提示','保存失败,存在相同的条件组名称，请修改','info');
				return;
			}
			var pid=0;
			if(MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE!=null){
				pid=MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE.FID;
			}
			//调用保存条件方法
			$.ajax({
				url : "MedicalCheckManage/addConditionGroup",
				dataType : 'json',
				type : 'post',
				data : {tjzmc:r,pid:pid,mbid:MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA.id,px:1},
				success : function(data){
					if (data) {
						$.messager.alert('提示','操作成功','info');
						//刷新条件组
						queryConditionGroup(MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA.id);
					}else{
						$.messager.alert('提示','操作失败','info');
					}
				},error : errorPromt
			})
		}
	});
 }
/**
 * 病案高级查询-模板条件组-修改
 * @returns
 */
 function updateConditionGroup(){
 	if (MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE==null) {
 		$.messager.alert('提示','请选相应的条件组进行修改','info');
		return;
 	}
 	$.messager.prompt('提示信息', '是否修改其条件组名称：', function(r){
		if (r){  // r 代表输入的模板名称 
			if (r == MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE.FTJZMC) {
				$.messager.alert('提示','条件组名称未修改','info');
				return;
			}
			
			//检测是否存在相同的模板名称
			if (!checkTemplateName(r)) {
				$.messager.alert('提示','保存失败,存在相同的模板名称，请修改','info');
				return;
			}
			
			//修改已选条件模板的名称
			$.ajax({
				url : "MedicalCheckManage/updateConditionGroup",
				dataType : 'json',
				type : 'post',
				data : {tjzmc : r, id: MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE.FID},
				success : function(data){
					if (data) {
						$.messager.alert('提示','操作成功','info');
						//刷新条件组
						queryConditionGroup(MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA.id);
					}else{
						$.messager.alert('提示','操作失败','info');
					}
				},error : errorPromt
			})
		}
	});
 }
 
 /**
  * 病案高级查询-模板条件组-删除
  * 描述:根据模板id进行删除，需删除此模板下对应的条件
  */
 function deleteConditionGroup(){
  	if (MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE==null) {
  		$.messager.alert('提示','请选相应的条件组进行删除','info');
 		return;
  	}
  	$.ajax({
 		url : "MedicalCheckManage/deleteConditionGroup",
 		dataType : 'json',
 		type : 'post',
 		data : {id: MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE.FID},
 		success : function(data){
 			if (data) {
 				$.messager.alert('提示','删除成功','info');
 				//刷新条件组
				queryConditionGroup(MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA.id);
				MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE=null;
 			}else{
 				$.messager.alert('提示','删除失败','info');
 			}
 		},error : errorPromt
 	})
 }
 
/**
 * 病案高级查询-条件组--修改排序
 * @param id
 * @param px 序号
 * @param gx 关系
 * @returns
 */
function updateCondittionGroupPX(id,px,gx){
	$.ajax({
		url : "MedicalCheckManage/updateConditionGroup",
		dataType : 'json',
		type : 'post',
		data : {id : id, px: px,gx:gx},
		async:false,
		success : function(data){
			if (data) {
				//$.messager.alert('提示','操作成功','info');
			}else{
				$.messager.alert('提示','操作失败','info');
			}
		},error : errorPromt
	})
}
/**
 * 病案高级查询-模板条件组--修改排序
 * @param id
 * @param px
 * @returns
 */
function updateCondittionGroupGX(row){
	row.FGX=row.FGX==1||row.FGX=="1"?0:1;
	//更新数据行
	$('#medical_advanced_inquiry_condition_group_treegrid').treegrid('update',{
		id: row.FID,
		row: row
	});
	//刷新数据行
	$('#medical_advanced_inquiry_condition_group_treegrid').treegrid('refresh',row.FID);
	
	$.ajax({
		url : "MedicalCheckManage/updateConditionGroup",
		dataType : 'json',
		type : 'post',
		data : {id : row.FID, gx: row.FGX},
		async:false,
		success : function(data){
			if (data) {
				//$.messager.alert('提示','操作成功','info');
			}else{
				$.messager.alert('提示','操作失败','info');
			}
		},error : errorPromt
	})
}

/**
 * 病案高级查询-模板条件组--取消选择
 * @returns
 */
function unselectConditionGroup(){
	MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE=null;
	$('#medical_advanced_inquiry_condition_group_treegrid').treegrid('unselectAll');
}

/**
 * 病案高级查询-模板条件组--数据格式化
 * @param rows
 * @returns
 */
function convertTreegridRows(rows){
	var nodes = [];
	//循环查找一级条件
	for(var i = 0; i < rows.length; i ++){
		var row = rows[i];
		//父级编码为本编码或没有父级编码
		if (row.FPID == 0 || row.FPID == null) {
			nodes.push({
				FID:row.FID,
				FTJZMC:row.FTJZMC,
				FMBID:row.FMBID,
				FPX:row.FPX,
				FPID:row.FPID,
				FGX:row.FGX,
				_parentId:row._parentId
			});
		}
	}
	
	var toDo = [];
	for(var i=0; i<nodes.length; i++){
		toDo.push(nodes[i]);
	}
	while(toDo.length){
		var node = toDo.shift();	// 父级节点数据
		// 循环加载子级节点
		for(var i=0; i<rows.length; i++){
			var row = rows[i];
			//父级编码等于上一级编码并且父级编码不等于本编码
			if (row.FPID === node.FID){
				var child = {
						FID:row.FID,
						FTJZMC:row.FTJZMC,
						FMBID:row.FMBID,
						FPX:row.FPX,
						FPID:row.FPID,
						FGX:row.FGX,
						_parentId:row._parentId
					};
				if (node.children){
					node.children.push(child);
				} else {
					node.children = [child];
				}
				toDo.push(child);
			}
		}
	}
	return nodes;
}

/**
 * 添加或修改模板时，检测是否存在相同的模板名称
 * @param name 新的模板名称
 * @returns {Boolean}
 */
function checkConditionGroupName(name){
	var mbArray = $('#medical_advanced_inquiry_condition_group_treegrid').treegrid('getRoots');//根节点
	if(MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE!=null)
		mbArray = $('#medical_advanced_inquiry_condition_group_treegrid').treegrid('getChildren',MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE.FID);//节点子节点
	var count = 0;
	for (var i = 0; i < mbArray.length; i++) {
		if (mbArray[i].FTJZMC == name) {
			count ++;
			break;
		}
	}
	if (count != 0) {
		return false;
	}
	return true;
}
/**
 * 病案高级查询-条件组--树上下移动
 * @param move down-下移，up-上移
 * @param node 节点
 * @returns
 */
function treegridMove(move,node){
	if(node!=null){
		var id=node.FID;
		var selfClone = $('tr[node-id='+id+']').clone();//对选中的节点进行克隆
		var nextClone = $('tr[node-id='+id+']').next('.treegrid-tr-tree').clone();//对选中节点的子类进行克隆		
		if(move=='down'){//下移
			var referNode = $('tr[node-id='+id+']').nextAll('tr[node-id]').first();//获取下移的参照节点
			if(typeof referNode.attr('node-id')!= 'undefined'){
				var referNodeTreeList = $('tr[node-id='+id+']').nextAll('tr[node-id]').first().next('.treegrid-tr-tree');//获取下移的参照节点的子节点
				$('tr[node-id='+id+']').next('.treegrid-tr-tree').remove();
				$('tr[node-id='+id+']').remove();
				if(typeof referNodeTreeList.css("display")!='undefined'){//如果参照节点的子节点显示了，那么将已选中节点的克隆内容加在其后面
					referNodeTreeList.after(selfClone);//加在参照节点的子节点后
					$('tr[node-id='+id+']').after(nextClone);//在选中节点的后加上子节点的克隆内容
				}else{
					referNode.after(selfClone);
					$('tr[node-id='+id+']').after(nextClone);
				}
				resetTreegridNumber(referNode.attr('node-id'),"-");//下移的参照节点排序减一
				resetTreegridNumber(id,"+");//下移的节点排序加一
			}else{
				$.messager.alert("提示！","不能下移，可选择进行拖拽！",'info')
			}
		}else if(move=='up'){
			var referNode = $('tr[node-id='+id+']').prevAll('tr[node-id]').first();
			if(typeof referNode.attr('node-id')!= 'undefined'){
				$('tr[node-id='+id+']').next('.treegrid-tr-tree').remove();
				$('tr[node-id='+id+']').remove();
				referNode.before(selfClone);
				$('tr[node-id='+id+']').after(nextClone);
				resetTreegridNumber(referNode.attr('node-id'),"+");//参照上移节点排序加一
				resetTreegridNumber(id,"-");//上移节点排序减一
			}else{
				$.messager.alert("提示！","不能上移，可选择进行拖拽！",'info')
			}
		}
	}else{
		$.messager.alert("提示！","请选择要移动的节点！",'info')
	}
}

/**
 * 病案高级查询-条件组--树网格重新排序
 * @param id ID
 * @param type -降序 +升序
 * @returns
 */
function resetTreegridNumber(id,type){
	$('#medical_advanced_inquiry_condition_group_treegrid').treegrid('select',id);
	var row=$('#medical_advanced_inquiry_condition_group_treegrid').treegrid('getSelected');
	row.FPX="-"==type?row.FPX-1:row.FPX+1;
	row.FGX=row.FPX==1?2:row.FPX!=1 && (row.FGX == null || row.FGX==2)?1:row.FGX;
	$('#medical_advanced_inquiry_condition_group_treegrid').treegrid('update',{
		id: row.FID,
		row: row
	});
	$('#medical_advanced_inquiry_condition_group_treegrid').treegrid('refresh',row.FID);
	//数据库更改排序编号
	updateCondittionGroupPX(row.FID,row.FPX,row.FGX);
}
/**
 * 病案高级查询-条件组--启用表单拖拽
 * @param t
 * @returns
 */
function treegridEnableDnd(t) {
	var nodes = $('#medical_advanced_inquiry_condition_group_treegrid').treegrid('getPanel').find('tr[node-id]');
	nodes.find('span.tree-hit').bind('mousedown.treegrid', function() {
		return false;
	});
	nodes.draggable({
		disabled: false,
		revert: true,
		cursor: 'pointer',
		proxy: function(source) {
			var p = $('<div class="tree-node-proxy tree-dnd-no"></div>').appendTo('body');
			p.html($(source).find('.tree-title').html());
			p.hide();
			return p;
		},
		deltaX: 15,
		deltaY: 15,
		onBeforeDrag: function() {
			$(this).next('tr.treegrid-tr-tree').find('tr[node-id]').droppable({ accept: 'no-accept' });
		},
		onStartDrag: function() {
			$(this).draggable('proxy').css({
				left: -10000,
				top: -10000
			});
		},
		onDrag: function(e) {
			$(this).draggable('proxy').show();
			this.pageY = e.pageY;
		},
		onStopDrag: function() {
			$(this).next('tr.treegrid-tr-tree').find('tr[node-id]').droppable({ accept: 'tr[node-id]' });
		}
	}).droppable({
		accept: 'tr[node-id]',
		onDragOver: function(e, source) {
			var pageY = source.pageY;
			var top = $(this).offset().top;
			var bottom = top + $(this).outerHeight();
			$(source).draggable('proxy').removeClass('tree-dnd-no').addClass('tree-dnd-yes');
			$(this).removeClass('row-append row-top row-bottom');
			if (pageY > top + (bottom - top) / 2) {
				if (bottom - pageY < 5) {
					$(this).addClass('row-bottom');
				} else {
					$(this).addClass('row-append');
				}
			} else {
				if (pageY - top < 5) {
					$(this).addClass('row-top');
				} else {
					$(this).addClass('row-append');
				}
			}
		},
		onDragLeave: function(e, source) {
			$(source).draggable('proxy').removeClass('tree-dnd-yes').addClass('tree-dnd-no');
			$(this).removeClass('row-append row-top row-bottom');
		},
		onDrop: function(e, source) {
			var action, point;
			if ($(this).hasClass('row-append')) {
				action = 'append';
			} else {
				action = 'insert';
				point = $(this).hasClass('row-top') ? 'top' : 'bottom';
			}
			$(this).removeClass('row-append row-top row-bottom');
			 //==================================
			 //逻辑处理
			var src  = $('#medical_advanced_inquiry_condition_group_treegrid').treegrid('find', $(source).attr('node-id'));//原节点
			var dest = $('#medical_advanced_inquiry_condition_group_treegrid').treegrid('find', $(this).attr('node-id'));//父级
			//后台数据库修改父节点
			$.ajax({
				url : "MedicalCheckManage/updateConditionGroup",
				dataType : 'json',
				type : 'post',
				data : {id : src.FID, pid: dest.FID},
				success : function(data){
					if (data) {
						$.messager.alert('提示','操作成功','info');
						//刷新条件组
						queryConditionGroup(MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA.id);
					}else{
						$.messager.alert('提示','操作失败','info');
					}
				},error : errorPromt
			});
		   //====================
		}
	});
}
/*****************************************************************************************************
 **************************************可选条件树加载**************************************************
 *****************************************************************************************************/
/**
 * 病案高级查询-可选条件树--加载
 * @returns
 */
function loadConditionTree(){
	$('#medical_advanced_inquiry_condition_tree').tree({
	      url:'MedicalCheckManage/getQuerySelfCondition',
	      checkbox:false,
	      //iconCls:'icon-blank',
	      onClick:function(node){
	    	  if (MEDICAL_ADVANCED_INQUIRY_CONDITION_GROUP_SELECT_NOTE==null) {
	    	 		$.messager.alert('提示','请选相应的条件组进行设置','info');
	    			return;
	    	  }
	    	  if(node.attributes.FJB!=0){
	    		  loadConditionItem(node.attributes);
	    	  }
	      },
	      loadFilter: function(rows){
			return convertConditionTree(rows);
		  }
	  });
}
 
/**
 * 病案高级查询-可选条件树--数据格式化
 * @param rows
 * @returns
 */
function convertConditionTree(rows){
	var nodes = [];
	//循环查找一级条件
	for(var i = 0; i < rows.length; i ++){
		var row = rows[i];
		//父级编码为本编码或没有父级编码
		if (row.FFIELDCODE === row.FFATHER || row.FFATHER == null) {
			nodes.push({
				iconCls:"icon-none",
				id:row.FFIELDCODE,
				text:'<span title="'+row.FFIELDNAME+'">'+row.FFIELDNAME+'</span>',
				state:"open",
				attributes:{
					FFIELDCODE:row.FFIELDCODE,
					FFIELDNAME:row.FFIELDNAME,
					FTABLECODE:row.FTABLECODE,//表标识
					FTABLENAME:row.FTABLENAME,//表名
					FFATHER:row.FFATHER,//父节点
					FCHILDREN:row.FCHILDREN,//子节点
					FFIELDTYPE:row.FFIELDTYPE,//列类型
					FSTANDARDCODE:row.FSTANDARDCODE,//统一编码
					FSTANDARDTYPE:row.FSTANDARDTYPE,//统一类型
					FZDLX:row.FZDLX,//诊断类型
					FJB:row.FJB,//疾病
					FIFUSE:row.FIFUSE,//FIFUSE
					FPX:row.FPX//排序
				}
			});
		}
	}
	
	var toDo = [];
	for(var i=0; i<nodes.length; i++){
		toDo.push(nodes[i]);
	}
	while(toDo.length){
		var node = toDo.shift();	// 父级节点数据
		// 循环加载子级节点
		for(var i=0; i<rows.length; i++){
			var row = rows[i];
			//父级编码等于上一级编码并且父级编码不等于本编码
			if (row.FFATHER === node.id && row.FFATHER != row.FFIELDCODE){
				var child = {
						id:row.FFIELDCODE,
						text:'<span title="'+row.FFIELDNAME+'">'+row.FFIELDNAME+'</span>',
						iconCls:"icon-none",
						attributes:{
							FFIELDCODE:row.FFIELDCODE,
							FFIELDNAME:row.FFIELDNAME,
							FTABLECODE:row.FTABLECODE,//表标识
							FTABLENAME:row.FTABLENAME,//表名
							FFATHER:row.FFATHER,//父节点
							FCHILDREN:row.FCHILDREN,//子节点
							FFIELDTYPE:row.FFIELDTYPE,//列类型
							FSTANDARDCODE:row.FSTANDARDCODE,//统一编码
							FSTANDARDTYPE:row.FSTANDARDTYPE,//统一类型
							FZDLX:row.FZDLX,//诊断类型
							FJB:row.FJB,//疾病
							FIFUSE:row.FIFUSE,//FIFUSE
							FPX:row.FPX//排序
						}
				};
				if (node.children){
					node.children.push(child);
				} else {
					node.children = [child];
				}
				toDo.push(child);
			}
		}
	}
	return nodes;
}

/**
 * 病案高级查询-可选条件树--数据本地过滤
 * @returns
 */
function medicalAdvancedInquiryConditionTreeFilter(){
	//过滤文本
	var text=$("#medical_advanced_inquiry_condition_tree_searchbox").val();
	$('#medical_advanced_inquiry_condition_tree').tree('doFilter', text);
}

/**
 * 病案高级查询-条件控件-加载
 * @returns
 */
function loadConditionItem(node){
	createConditionItem(node.FFIELDTYPE,node.FFIELDCODE,node.FSTANDARDCODE,node.FID,node.FFIELDNAME);
}

/**
 * 高级病案查询-批量申请-查询
 */
function medicalAdvancedInquiryBatchBrowseApplyQuery(){
	if(MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA==null||MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA==undefined){
		$.messager.alert("提示！","请选择模板！",'info')
		return;
	}
/*	var flag=true;
	$.ajax({
		url : "MedicalCheckManage/medicalAdvancedInquiryBatchBrowseApplyQuery",
		dataType : 'json',
		type : 'post',
		async:false,
		data : {mbid : MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA.id},
		success : function(data){
			if (!data.suc) {
				$.messager.alert('提示',data.msg,'info');
				flag=false;
			}else{
				//MEDICAL_ADVANCED_INQUIRY_DATAGRID_DATAS=data.rows;
				
			}
		},error : errorPromt
	});
	if(flag){
		
	}*/
	loadMedicalAdvancedInquiryDatagrid();
	//跳转至数据列表tabs
 	$('#advanced_center_tabs').tabs('select',1);
}

/**
 * 高级病案查询-批量申请操作
 */
function medicalAdvancedInquiryBatchBrowseApply(){
	MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA_SQL=null;
	MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA_WHERE_SQL=null;
	MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA_WHERE_SQL_EXPLAIN=null;
	var flag=true;
	$.ajax({
		url : "MedicalCheckManage/getTemplateSQLZH",
		dataType : 'json',
		type : 'post',
		data : {mbid : MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA.id},
		async:false,
		success : function(data){
			if (data.suc) {
				$("#medical_advanced_inquiry_batch_apply_condition_text").html(data.sqlzh);
				MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA_SQL=data.sql;
				MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA_WHERE_SQL=data.wsql;
				MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA_WHERE_SQL_EXPLAIN=data.sqlzh;
				//刷新条件组
			}else{
				$.messager.alert('提示',data.msg,'info');
				flag=false;
			}
		},error : errorPromt
	});
	if(!flag){
		return ;
	}
	$('#medical_advanced_inquiry_batch_apply_dialog').dialog({
		closed : false,
		modal : true,
		title : '批量查阅病案申请',
		buttons : [{
			text: '确认',
			iconCls: '',
			handler: medicalAdvancedInquiryConfirmBacthApply
		},
		{text: '关闭',handler: function() {
			$("#medical_advanced_inquiry_batch_apply_dialog").dialog("close");
		}
		}]
	});
}

/**
 * 病案高级查询-批量病案申请
 */
function medicalAdvancedInquiryConfirmBacthApply(){
	//获取浏览天数
	var browseDays = $("#medical_advanced_inquiry_batch_browse_days").val();
	if (""==browseDays) {
		$.messager.alert('提示','浏览天数不能为空','info');
		return;
	}
	
	//判断浏览天数是否为数字格式
	if (regNumber(browseDays) == false) {
		$.messager.alert('提示','浏览天数非数字格式，请修改','info');
		return;
	}
	$.ajax({
		url : "MedicalCheckManage/confirmBApply",
		dataType : 'json',
		type : 'post',
		data :{
			ftype:2,
			fsqtjwz:MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA_WHERE_SQL_EXPLAIN,
			fsqtjsql:MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA_SQL,
			ApplyRemark:$("#medical_advanced_inquiry_batch_apply_remark").val(),
			bBrowseDays:browseDays,
			bApplyPurpose:$("#medical_advanced_inquiry_bacth_apply_purpose").combobox('getValue')
		},
		success : function(data){
			if (data) {
				$.messager.alert('提示','申请成功','info');
				$("#medical_advanced_inquiry_batch_apply_dialog").dialog("close");
			}else{
				$.messager.alert('提示','申请失败','info');
			}
		},error : errorPromt
	})
}

/**
 * 病案高级查询-数据列表-显示字段
 * @param record 选择的显示模板
 */
function loadMedicalAdvancedInquiryDatagridFieldsByShowTemplate(record){
	
	//清空  col数组
 	col = [];
	MEDICAL_ADVANCED_INQUIRY_DATAGRID_COLUMNS = [];
	col.push(
		{field:'FID',title:'ID',width:0,align:'center',hidden:true},
		{field:'opretion',title:'操作',width:80,align:'center',
    	formatter:function(value,row,index){
    		if(row.fzt == 0 || row.fzt == 1){
    			return "<button class='shootBtn' onclick='medicalAdvancedInquirySingleApply("+index+");'>申请</button>";
    		}else if (row.fzt == 2) {
    			return "<button class='shootBtn' onclick='medicalAdvancedInquirySingleBrowse("+index+");'>浏览</button>";
    		}
    		return "";
    	}
    }, 
    {field:'fzt',title:'状态',width:60,align:'center',
    	formatter:function(value,row,index){ 
    		if(value==1){
    			return "可申请";
    		}else if(value==2){
    			return "可浏览";
			}
    		return "无权限";
    	}
    });
	
	//加载字段模板
	$.ajax({
		url : "MedicalCheckManage/loadFieldsByTempId",
		dataType : 'json',
		async : false,
		type : 'post',
		data : {mbID: record.id},
		success : function(data){
			if (data.length>0) {
				for (var i = 0; i < data.length; i++) {
					//MEDICAL_ADVANCED_INQUIRY_DATAGRID_COLUMNS.push(data[i]);
					col.push(data[i]);
					MEDICAL_ADVANCED_INQUIRY_DATAGRID_COLUMNS.push({'FFIELD':data[i].field,'FFIELDNAME':data[i].title});
				}
			}
		}
	});
	
	//渲染datagrid，同时将数据填制datagrid中
	loadMedicalAdvancedInquiryDatagrid();
	FILTER_DATA=new Array();
	//加载字段列数据
 	loadFilterSettingFiledTable();
}

/**
 * 高级病案查询-数据列表-加载
 * @returns
 */

function loadMedicalAdvancedInquiryDatagrid(){
 	//加载数据列表datagrid
 	$('#medical_advanced_inquiry_datagrid').datagrid({     
 		toolbar : '#medical_advanced_inquiry_datagrid_toolbar',
 		url : "MedicalCheckManage/medicalAdvancedInquiryBatchBrowseApplyQuery",
		fitColumns : col.length>15?false: true,
		border : false,
		striped : true,
		fit : true,
		singleSelect : true,
		pagination:true,
		columns : [col],
		queryParams:{
			mbid : MEDICAL_ADVANCED_INQUIRY_TEMPLATE_SELECT_DATA.id
		},
		//data : MEDICAL_ADVANCED_INQUIRY_DATAGRID_DATAS,
		onLoadError : errorPromt,
		onLoadSuccess:function(){
			for(var i=0;i<col.length;i++){
				var colName=col[i].field;
				var tableTd = $('div.datagrid-body td[field="'+colName+'"]'); //colName是列名
	            tableTd.each(function () {
	                var $this = $(this);
	                var index = $this.parent('tr').attr('datagrid-row-index');
	                var rows = $('#medical_advanced_inquiry_datagrid').datagrid('getRows');
	                var currentRow = rows[index];
	                var colValue=eval("currentRow."+colName);
	                if(colValue != undefined && colValue!=null && getBLen(colValue) > 10) {//长度大于10的值给出提示
	                	var content = '<div style=" max-width:700px;word-break: break-all; word-wrap: break-word;">' + colValue + '</div>';
		                $this.tooltip({
		                    position: 'right',
		                    content: '<span style="color:#fff">'+content+'</span>',
		                    onShow: function(){
		                		$(this).tooltip('tip').css({
		                			backgroundColor: '#666',
		                			borderColor: '#666'
		                		});
		                    }
		                });
	                }
	            });
			}
		}
	})
}

//单个申请操作
function medicalAdvancedInquirySingleApply(index){
	var items = $('#medical_advanced_inquiry_datagrid').datagrid('getData').rows[index];  //获取申请行的信息
	
	$('#medical_advanced_inquiry_single_apply_dialog').dialog({
		closed : false,
		modal : true,
		title : '申请浏览病案',
		buttons : [{
			text: '确认',
			iconCls: '',
			handler: function(){medicalAdvancedInquirySingleApplyConfirm(items);}
		},
		{text: '关闭',handler: function() {
			$("#medical_advanced_inquiry_single_apply_dialog").dialog("close");
		}
		}]
	})
	
	$('#medical_advanced_inquiry_single_apply_fprn').text(items.FPRN);
	$('#medical_advanced_inquiry_single_apply_fname').text(items.FNAME);
	$('#medical_advanced_inquiry_single_apply_fcydate').text(items.FCYDATE);
}

/**
 * 病案高级查询-单个病案申请确认
 */
function medicalAdvancedInquirySingleApplyConfirm(items){
	//获取浏览天数
	var browseDays = $("#medical_advanced_inquiry_single_browse_days").val();
	if (""==browseDays) {
		$.messager.alert('提示','浏览天数不能为空','info');
		return;
	}
	
	//判断浏览天数是否为数字格式
	if (regNumber(browseDays) == false) {
		$.messager.alert('提示','浏览天数非数字格式，请修改','info');
		return;
	}
	
	$.ajax({
		url : "MedicalCheckManage/confirmSApply",
		dataType : 'json',
		type : 'post',
		data : $('#medical_advanced_inquiry_single_apply_form').serialize()+"&fzyid="+items.FZYID,
		success : function(data){
			if (data) {
				$.messager.alert('提示','申请成功','info');
				$("#medical_advanced_inquiry_single_apply_dialog").dialog("close");
			}else{
				$.messager.alert('提示','申请失败','info');
			}
		},error : errorPromt
	})
	
	
}


/**
 * 高级病案查询-过滤设置
 */
function addInImgTemple(){
	//loadMedicalAdvancedInquiryDatagridFieldsByShowFilterTemplate();
	
	var flag=true;
	
	if(!flag){
		return ;
	}
	$('#medical_advanced_inquiry_datagrid_title_filter').dialog({
		closed : false,
		modal : true,
		title : '查询结果过滤',
		buttons : [{
			text: '确认',
			iconCls: '',
			handler: medicalAdvancedInquirySearchResultFilter
		},
		{text: '关闭',handler: function() {
			$("#medical_advanced_inquiry_datagrid_title_filter").dialog("close");
		}
		}]
	});
}
/**
 * 是否启用过滤
 */
function WhetherFilter(){
	filterDate();
} 
/**
 * 查询列表-过滤
 */
function medicalAdvancedInquirySearchResultFilter(){
	if($('#medical_advanced_inquiry_datagrid_filter').is(':checked')){
		filterDate();
		
	}
	$("#medical_advanced_inquiry_datagrid_title_filter").dialog("close");
}
/**
 * 结果列名过滤
 */
function loadFilterSettingFiledTableFilter(){
	$('#medical_advanced_inquiry_datagrid_filter_field_datagrid').datagrid({
		loadFilter: function(data){
			var reData={total:0};
			var rows=[];
			var txt=$('#medical_advanced_inquery_filter_txt').val();
			for(var i=0;i<data.length;i++){
				if(data[i].FFIELDNAME.indexOf(txt)!=-1){
					rows.push(data[i]);
				}
			}
			reData.rows=rows;
			if(txt==""){
				return data;
			}
			return reData;
		}
	});
}

/**
 * 结果列名-加载
 */
function loadFilterSettingFiledTable(){
 	//加载数据列表datagrid
 	$('#medical_advanced_inquiry_datagrid_filter_field_datagrid').datagrid({     //加载所有的图片分类模板
		fitColumns : true,
		border : false,
		striped : true,
		fit : true,
		singleSelect : false,
		columns : [[
            {field:'FFIELD',checkbox:true,width:10,align:'center'},
            {field:'FFIELDNAME',title:'结果列名',width:60,align:'center'}
		]],
		data : MEDICAL_ADVANCED_INQUIRY_DATAGRID_COLUMNS,
		onLoadError : errorPromt,
		onClickRow:function(index,row){//单击事件
			FILTER_FIELD_VALUE_DATAGRID_DATA=new Array();
			var temp_array=new Array();
			for(var i=0;i<queryResultsDatas.length;i++){
				var currentRow=queryResultsDatas[i];//一行数据
				var colValue=eval("currentRow."+row.FFIELD);//取列值
				if(isUnique(temp_array,colValue)){//判断是否唯一
					FILTER_FIELD_VALUE_DATAGRID_DATA.push({'FFILED':row.FFIELD,'FFIELVALUE':colValue});
					temp_array.push(colValue);
				}
			};
			//初始化列值表格
			loadFilterSettingFiledValueTable();
		},
		onCheck:function(index,row){//选择
			
		},
		onUncheck:function(index,row){//取消选择
			for (var i = 0; i < FILTER_DATA.length; i++) {
				if(row.FFIELD==FILTER_DATA[i].FFIELD){
					FILTER_DATA.remove(i);
					break;
				}
			}
		}
 	})
 }
/**
 * 是否唯一
 * @param arr 数据数组
 * @param val 数值
 * @returns {Boolean} 
 */
function isUnique(arr,val){
	for(var i = 0; i < arr.length; i++){
		if(arr[i] == val){
			return false;
		}
	}
	return true;
}
/**
 * 结果列值-加载
 */
function loadFilterSettingFiledValueTable(){
 	//加载数据列表datagrid
 	$('#medical_advanced_inquiry_datagrid_filter_field_value_datagrid').datagrid({     //加载所有的图片分类模板
		fitColumns : true,
		border : false,
		striped : true,
		fit : true,
		singleSelect : false,
		columns : [[
            {field:'FFILED',checkbox:true,width:10,align:'center'},
            {field:'FFIELVALUE',title:'列值',width:60,align:'center'}
		]],
		data : FILTER_FIELD_VALUE_DATAGRID_DATA,
		onLoadError : errorPromt,
		onClickRow:function(index,row){
			
		},
		onCheck:function(index,row){//选择
			var new_data=new Array();
			for (var i = 0; i < FILTER_DATA.length; i++) {
				if(row.FFILED==FILTER_DATA[i].FFIELD){
					new_data=FILTER_DATA[i].FVALUE;
					FILTER_DATA.remove(i);//删除
					break;
				}
			}
			new_data.push(row.FFIELVALUE);
			FILTER_DATA.push({'FFIELD':row.FFILED,'FVALUE':new_data});//重新添加
		},
		onUncheck:function(index,row){//取消选择
			var new_data=new Array();
			for (var i = 0; i < FILTER_DATA.length; i++) {
				if(row.FFIELD==FILTER_DATA[i].FFIELD){
					new_data=FILTER_DATA[i].FVALUE;
					FILTER_DATA.remove(i);
					break;
				}
			}
			for(var i=0;i<new_data.length;i++){
				if(new_data[i]==row.FFIELVALUE){
					new_data.remove(i);//删除
					break;
				}
			}
			if(new_data.length>0){
				FILTER_DATA.push({'FFIELD':row.FFIELD,'FVALUE':new_data});//重新添加
			}
		}
 	})
 }

function filterDate(){
	$('#medical_advanced_inquiry_datagrid').datagrid({
		loadFilter: function(data){
			
			var count=0;
			var reData={total:0};
			var rows=new Array();
			for(var i=0;i<data.length;i++){
				if(isExistFilter(data[i])){
					count++;
					rows.push(data[i]);
				}
			}
			reData.rows=rows;
			if(count==0 || !$('#medical_advanced_inquiry_datagrid_filter').is(':checked')){
				return data;
			}
			return reData;
		}
	});
}

/**
 * 过滤数据，符合条件返回true
 * @param row
 */
function isExistFilter(row){
	var rowObj=row;
	for (var i = 0; i < FILTER_DATA.length; i++) {
		var fvaluestr=FILTER_DATA[i].FVALUE.join(",");
		var val=eval("rowObj."+FILTER_DATA[i].FFIELD);
		if(fvaluestr.indexOf(val)==-1){
			return false;
		}
	}
	return true;
}
//浏览病案按钮事件，跳转浏览页面
function medicalAdvancedInquirySingleBrowse(index){
	//获取页面所有行的的长度
	var rowsL = $('#medical_advanced_inquiry_datagrid').datagrid('getRows').length;
	
	//获取当前行的数据
	var items = $('#medical_advanced_inquiry_datagrid').datagrid('getData').rows[index];
	
	var url= ctx + "/MedicalCheckManage/MedicolRecordPictureView?fprn="+items.FPRN+"&fzyid="+items.FZYID+"&ftimes="+items.FTIMES+"&fname="+encodeURI(encodeURI(items.FNAME))+"&fcydate="+items.FCYDATE+"&id="+items.FID;
	addTab("病案浏览", url,"", false);
}